import type { PageParam, PageResult } from '@vben/request';

import { requestClient } from '#/api/request';

export namespace EduSchoolContactApi {
  /** 学校联系人信息 */
  export interface SchoolContact {
    id: number; // 主键
    schoolId?: number; // 学校id，关联 edu_school.school_id
    contactType?: string; // 联系人类型: 01 校长,02法人, 03招生, 04学籍, 05财务, 99普通联系人
    contactUserId: string; // 联系人对应的用户id（如有用户表关联）
    contactName: string; // 联系人姓名（加密）
    contactPhone: string; // 联系手机（加密）
    contactIdcard: string; // 身份证号（加密，可选）
    contactEmail: string; // 邮箱
    contactTelphone: string; // 联系固定电话（加密）
    remark: string; // 备注
  }
}

/** 查询学校联系人分页 */
export function getSchoolContactPage(
  data: PageParam,
  desensitize: boolean,
  encrypt: boolean,
) {
  return requestClient.post<PageResult<EduSchoolContactApi.SchoolContact>>(
    '/edu/base/school-contact/page',
    data,
    { desensitize, encrypt },
  );
}

/** 查询学校联系人详情 */
export function getSchoolContact(id: number, desensitize: boolean) {
  return requestClient.get<EduSchoolContactApi.SchoolContact>(
    `/edu/base/school-contact/get?id=${id}`,
    { desensitize },
  );
}

/** 新增学校联系人 */
export function createSchoolContact(data: EduSchoolContactApi.SchoolContact) {
  return requestClient.post('/edu/base/school-contact/create', data);
}

/** 修改学校联系人 */
export function updateSchoolContact(data: EduSchoolContactApi.SchoolContact) {
  return requestClient.put('/edu/base/school-contact/update', data);
}

/** 删除学校联系人 */
export function deleteSchoolContact(id: number) {
  return requestClient.delete(`/edu/base/school-contact/delete?id=${id}`);
}

/** 批量删除学校联系人 */
export function deleteSchoolContactList(ids: number[]) {
  return requestClient.delete(
    `/edu/base/school-contact/delete-list?ids=${ids.join(',')}`,
  );
}

/** 导出学校联系人 */
export function exportSchoolContact(params: any) {
  return requestClient.download('/edu/base/school-contact/export-excel', {
    params,
  });
}
